Calcular índices de concavidad y perfiles longitudinales de cursos fluviales

Imprimir lista de mapas ráster y vectoriales dentro en la región/localización activa

execGRASS(
  'g.list',
  flags = 't',
  parameters = list(
    type = c('raster', 'vector')
  )
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7

Obtener coordenada

mapview(order, col.regions = 'blue', legend = FALSE)

Obtener cursos más largos (cargar función propia)

devtools::source_url('https://raw.githubusercontent.com/geofis/rgrass/master/lfp_network.R') #Cargada como función "LfpNetwork"
LfpNetwork(
  xycoords = my_trans(c(-69.88117, 18.47503)),
  suffix = 'ozm',
  stream_vect = 'order_all',
  direction = 'drainage-dir-de-rstr'
)

Imprimir lista de mapas ráster y vectoriales

execGRASS(
  'g.list',
  flags = 't',
  parameters = list(
    type = c('raster', 'vector')
  )
)
## raster/LfpNetwork-flds-Oz
## raster/LfpNetwork-outlet-Oz
## raster/MASK
## raster/accum-de-rwshed
## raster/aspect
## raster/basins
## raster/dem
## raster/drainage-dir-de-rstr
## raster/drainage-dir-de-rwshed
## raster/half-basins
## raster/order-hack-gravelius
## raster/order-horton
## raster/order-shreve
## raster/order-strahler
## raster/order-topology
## raster/ozama-basin
## raster/ozama-stream-de-rstr
## raster/pcurv
## raster/r-stream-basins-1
## raster/r-stream-basins-2
## raster/r-stream-basins-3
## raster/r-stream-basins-4
## raster/r-stream-basins-5
## raster/r-stream-basins-6
## raster/r-stream-basins-7
## raster/slope
## raster/stream-de-rwshed
## raster/tcurv
## vector/LfpNetwork_lfp_all_final_ozm
## vector/LfpNetwork_lfp_all_final_ozm1
## vector/LfpNetwork_lfp_all_final_ozm3
## vector/LfpNetwork_lfp_all_final_ozm5
## vector/LfpNetwork_lfp_ozm
## vector/LfpNetwork_lfp_ozm1
## vector/LfpNetwork_lfp_ozm3
## vector/LfpNetwork_lfp_ozm5
## vector/LfpNetwork_outlet_Oz
## vector/LfpNetwork_tributaries_ozm
## vector/LfpNetwork_tributaries_ozm1
## vector/LfpNetwork_tributaries_ozm3
## vector/LfpNetwork_tributaries_ozm5
## vector/LfpNetwork_tributaries_preconf_ozm
## vector/LfpNetwork_tributaries_preconf_ozm1
## vector/LfpNetwork_tributaries_preconf_ozm3
## vector/LfpNetwork_tributaries_preconf_ozm5
## vector/c_ozama
## vector/dem_extent
## vector/order_all
## vector/ozama_basin
## vector/ozama_stream_de_rstr
## vector/r_stream_basins_1
## vector/r_stream_basins_2
## vector/r_stream_basins_3
## vector/r_stream_basins_4
## vector/r_stream_basins_5
## vector/r_stream_basins_6
## vector/r_stream_basins_7

Representar con leaflet

lfp <- readVECT('LfpNetwork_lfp_all_final_ozm')
lfp4326 <- spTransform(lfp, CRSobj = CRS("+init=epsg:4326"))
lfp_con_id <- leaflet() %>%
  addProviderTiles(providers$Stamen.Terrain, group = 'terrain') %>%
  addPolylines(
    data = lfp4326, weight = 3, opacity = 0.7, group = 'order',
    label = ~as.character(cat),
    highlightOptions = highlightOptions(color = "white",
                                      weight = 5, bringToFront = F, opacity = 1),
    labelOptions = labelOptions(noHide = T,
                                style = list(
                                  "font-size" = "8px",
                                  "background" = "rgba(255, 255, 255, 0.5)",
                                  "background-clip" = "padding-box",
                                  "padding" = "1px"))) %>% 
  leafem::addHomeButton(extent(lfp4326), 'Ver todo') %>% 
  leafem::addMouseCoordinates() ## Esto es para agregar coordenadas
lfp_con_id
lfp_con_id %>% mapview::mapshot(file = 'lfp_con_id_salida.png')

Exportar a KML

execGRASS(
  'v.out.ogr',
  flags = c('overwrite','quiet'),
  parameters = list(
    input = 'LfpNetwork_lfp_all_final_ozm',
    output = 'lfp_ozm_kml.kml',
    format = 'KML',
    dsco = 'NameField=cat'
  )
)

Obtención de perfiles longitudinales e índices de concavidad

source('lfp_profiles_concavity.R') #Cargado como función "LfpProfilesConcavity"
ozama_conv_prof <- LfpProfilesConcavity(
  xycoords = my_trans(c(-69.88117, 18.47503)),
  network = 'LfpNetwork_lfp_all_final_ozm',
  prefix = 'Oz',
  dem = 'dem',
  direction = 'drainage-dir-de-rstr',
  crs = '+init=epsg:32619',
  smns = 0.5,
  nrow = 5)

Mostrar resultados

ozama_conv_prof$profiles

ozama_conv_prof$concavityindex
##     stream          ci
## 1     Oz-1  0.80031860
## 2     Oz-2  0.43942590
## 3     Oz-3  0.47794213
## 4     Oz-4  0.22211357
## 5     Oz-5  0.36120224
## 6     Oz-6  0.22670919
## 7     Oz-7  0.60723513
## 8     Oz-8  0.58160364
## 9     Oz-9  0.50551556
## 10   Oz-10  0.42792611
## 11   Oz-11  0.22066826
## 12   Oz-12 -0.22968587
## 13   Oz-13  0.06873409
## 14   Oz-14 -0.48863791
## 15   Oz-15 -0.43113070
## 16   Oz-16  0.19556217
## 17   Oz-17 -0.57789336
## 18   Oz-18 -0.28882215
## 19   Oz-19  0.42361248
## 20   Oz-20  0.38197549
## 21   Oz-21 -0.58282177
## 22   Oz-22  0.63934650
## 23   Oz-23  0.37156758
## 24   Oz-24  0.23753413
## 25   Oz-25 -0.40902423
## 26   Oz-26  0.27515235
## 27   Oz-27  0.64089924
## 28   Oz-28  0.10912530
## 29   Oz-29  0.14093786
## 30   Oz-30  0.65377335
## 31   Oz-31  0.05056327
## 32   Oz-32  0.41757347
## 33   Oz-33  0.25801707
## 34   Oz-34  0.77126590
## 35   Oz-35 -0.18443650
## 36   Oz-36  0.76977485
## 37   Oz-37  0.31014562
## 38   Oz-38  0.65609570
## 39   Oz-39  0.37802823
## 40   Oz-40  0.46601396
## 41   Oz-41  0.43346019
## 42   Oz-42  0.64847254
## 43   Oz-43  0.46443253
## 44   Oz-44  0.08595970
## 45   Oz-45 -0.02423103
## 46   Oz-46  0.17794075
## 47   Oz-47  0.56646942
## 48   Oz-48  0.25966515
## 49   Oz-49 -0.67514306
## 50   Oz-50 -0.05678856
## 51   Oz-51  0.59860237
## 52   Oz-52  0.61706375
## 53   Oz-53  0.58473805
## 54   Oz-54 -0.09954486
## 55   Oz-55  0.19965632
## 56   Oz-56  0.29273785
## 57   Oz-57  0.58861497
## 58   Oz-58  0.48356589
## 59   Oz-59  0.51566074
## 60   Oz-60  0.06610355
## 61   Oz-61  0.51522672
## 62   Oz-62  0.55575845
## 63   Oz-63  0.55527217
## 64   Oz-64  0.31271522
## 65   Oz-65  0.53208124
## 66   Oz-66  0.63162961
## 67   Oz-67  0.59379220
## 68   Oz-68  0.41421398
## 69   Oz-69  0.80887793
## 70   Oz-70 -0.06229168
## 71   Oz-71  0.35174547
## 72   Oz-72  0.83372609
## 73   Oz-73 -0.28399605
## 74   Oz-74  0.55060709
## 75   Oz-75  0.57845586
## 76   Oz-76  0.30654799
## 77   Oz-77  0.43026887
## 78   Oz-78  0.39777486
## 79   Oz-79  0.47549267
## 80   Oz-80  0.37613668
## 81   Oz-81  0.55582386
## 82   Oz-82  0.38118317
## 83   Oz-83  0.49068102
## 84   Oz-84  0.52627501
## 85   Oz-85  0.20413204
## 86   Oz-86  0.70981550
## 87   Oz-87  0.48979650
## 88   Oz-88  0.48049341
## 89   Oz-89  0.27139638
## 90   Oz-90  0.51604396
## 91   Oz-91  0.30095671
## 92   Oz-92  0.40269429
## 93   Oz-93  0.31689790
## 94   Oz-94  0.43795306
## 95   Oz-95  0.40360885
## 96   Oz-96  0.37616773
## 97   Oz-97  0.15816243
## 98   Oz-98  0.41195309
## 99   Oz-99  0.21242978
## 100 Oz-100  0.61930566
## 101 Oz-101  0.51159617
## 102 Oz-102  0.14828982
## 103 Oz-103  0.44878863
## 104 Oz-104  0.05784377
## 105 Oz-105  0.35478752
ozama_conv_prof$dimensionlessprofiles$layers[[2]]$aes_params$size <- 2
ozama_conv_prof$dimensionlessprofiles$theme$text$size <- 12
ozama_conv_prof$dimensionlessprofiles

Tabla dx/dy, tanto en metros como adimensional. Útiles para construir perfiles por cuenta propia

ozama_conv_prof$lengthzdata %>% tibble::as.tibble()
## Warning: `as.tibble()` is deprecated, use `as_tibble()` (but mind the new semantics).
## This warning is displayed once per session.
## # A tibble: 12,382 x 4
##    stream length       z rowname
##    <fct>   <dbl>   <dbl>   <int>
##  1 Oz-1      0   -0.264        1
##  2 Oz-1     89.1 -0.0745       2
##  3 Oz-1    178.   0.115        3
##  4 Oz-1    267.   0.304        4
##  5 Oz-1    304.   0.383        5
##  6 Oz-1    393.   0.572        6
##  7 Oz-1    430.   0.651        7
##  8 Oz-1    556.   0.918        8
##  9 Oz-1    682.   1.19         9
## 10 Oz-1    772.   1.37        10
## # … with 12,372 more rows
ozama_conv_prof$lengthzdatadmnls %>% tibble::as.tibble()
## # A tibble: 12,382 x 6
##    stream length       z rowname length.dmnls  z.dmnls
##    <fct>   <dbl>   <dbl>   <int>        <dbl>    <dbl>
##  1 Oz-1      0   -0.264        1     0        0       
##  2 Oz-1     89.1 -0.0745       2     0.000665 0.000284
##  3 Oz-1    178.   0.115        3     0.00133  0.000568
##  4 Oz-1    267.   0.304        4     0.00199  0.000852
##  5 Oz-1    304.   0.383        5     0.00227  0.000970
##  6 Oz-1    393.   0.572        6     0.00293  0.00125 
##  7 Oz-1    430.   0.651        7     0.00321  0.00137 
##  8 Oz-1    556.   0.918        8     0.00415  0.00177 
##  9 Oz-1    682.   1.19         9     0.00509  0.00217 
## 10 Oz-1    772.   1.37        10     0.00575  0.00246 
## # … with 12,372 more rows

Limpiar archivo de bloqueo del conjunto de mapas de GRASS

unlink_.gislock()